package com.demo.java.OD51_100.OD78;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【数字加减游戏】问题-贪心算法
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145621296
 */
public class OdMain {
    public static void main(String[] args) {
        try {
            Scanner sn = new Scanner(System.in);
            // 输入起始值、目标值、以及两个步长a、b
            int sValue = sn.nextInt();
            int tValue = sn.nextInt();
            int aValue = sn.nextInt();
            int bValue = sn.nextInt();

            // 计算差值
            int distanceValue = Math.abs(tValue - sValue);

            // 计算通过减少a来实现目标所需要的步数
            int oneMinValue = 0;
            int temp = distanceValue;
            while (0 != temp % bValue) {
                temp -= aValue;  // 减少a
                ++oneMinValue;  // 步数加1
            }

            // 计算通过增加a来实现目标所需要的步数
            temp = distanceValue;
            int twoMinValue = 0;
            while (0 != temp % bValue) {
                temp += aValue;  // 增加a
                ++twoMinValue;  // 步数加1
            }

            // 输出最少步数
            System.out.println(Math.min(oneMinValue, twoMinValue));
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("input error");
        }
    }
}